package com.tlkj.common.curd.service;

import com.github.pagehelper.Page;
import com.tlkj.common.curd.entity.ApiMenu;
import com.tlkj.common.curd.vo.MenuTree;

import java.util.List;

/**
 * API目录 - Service
 * @author flyong86
 * @since 2024年6月19日
 */
public interface ApiMenuService {

    /**
     * 通过ID查询单条数据 
     *
     * @param id 主键
     * @return 实例对象
     */
    ApiMenu queryById(String id);
    /**
     * 分页查询
     *
     * @param ApiMenu 筛选条件
     * @param page 分页对象
     * @return 查询结果
     */
    Page<ApiMenu> paginQuery(ApiMenu ApiMenu, Page<ApiMenu> page);
    /**
     * 新增数据
     *
     * @param ApiMenu 实例对象
     * @return 实例对象
     */
    ApiMenu insert(ApiMenu ApiMenu);
    /**
     * 更新数据
     *
     * @param ApiMenu 实例对象
     * @return 实例对象
     */
    ApiMenu update(ApiMenu ApiMenu);
    /**
     * 通过主键删除数据
     *
     * @param id 主键
     * @return 是否成功
     */
    boolean deleteById(String id) throws Exception;

    /**
     * 获取目录树.
     * @return 目录树
     */
    List<MenuTree> getTrees();
}
